The present invention relates generally to digital communications including wireline, wireless and satellite communications and more particularly to decoding received communication signals.
AceS (Asia Cellular Satellite System) SAIS (Satellite Air Interface Specification) specifies two high-power control channels called HBCCH (High Margin Broadcast Control Channel) and HPACH (High Penetration Alerting Channel). These channels use Hadamard codes in addition to the convolutional-coding, CRC (Cyclic-redundant-check) and interleaving, and thus have large coding gain. During initial synchronization, a User-Terminal (UT) needs to receive and decode the HBCCH message to get all the system information. In idle mode, the UT needs to decode the HBCCH message periodically to update the system information. The UT also needs to decode the HPACH message to check for any incoming paging message. Thus, the receiver performance for these channels is important for proper operation of the UT. Very low-rate coding provided by the Hadamard coding and the convolutional coding should help the UT to receive these high power channels even in disadvantaged signal conditions.
In a typical digital communication system (which includes wireline, wireless and satellite communication), a transmitter and a receiver are provided. A transmitter system will typically include a CRC coder for error detection, channel coder for error correction, a modulator and a transmitter. Two levels of channel coding may be used in order to get high coding gain and thus higher link margin. The first level of channel coding, also called outer coding, is typically either a block coding or a convolutional coding. The second level of coding, also called inner coding, may be an orthogonal-code encoding such as Hadamard coding. In an orthogonal code, each codeword is orthogonal to other codewords in the set. As an example, a (128,7) Hadamard code is assumed, but in general any size and type of orthogonal code may be used.
A (128,7) Hadamard coder maps every seven input bits to one of the 128 possible codewords. Each codeword is 128 bits long. Thus, the (128,7) Hadamard codeword set can be represented in a (128xc3x97128) matrix form. Hadamard codes have good cross-correlation properties between codewords, but may not have good autocorrelation properties. In order to improve autocorrelation properties, Hadamard codewords are masked by a maximal-length sequence, also called an M-sequence. The output codewords or bits are then modulated and transmitted.
The received symbol response at the detector portion of a receiver is a composite response of transmit filter, channel, and receive filter. The received symbol may be spread over more than a symbol period due to a time dispersive channel, transmit response or the receive filter response. Partial response pulse shaping is an example. The received signal sample at any time is the resultant of the current symbol and the overlapping adjacent symbols. As described herein, the received symbol is assumed to be spread for about 3 symbol periods. Hence, a received signal sample is a sum of three symbols, and thus each symbol experiences inter-symbol-interference (ISI) from two adjacent symbols. In order to detect the symbol with ISI, the receiver typically includes an equalizer.
A conventional receiver system for use with the above transmitter may have a demodulator, a matched filter, a sampler, a symbol-time synchronizer, an equalizer, an orthogonal-code decoder (Hadamard decoder), an outer channel decoder, and a CRC checker. The matched filter in the receiver tries to match the received pulse with its impulse response, and thus maximizes the received signal signal-to-noise ratio (SNR) at the time-point of matching. The SNR maximized point is the optimum point of sampling, and the sampler is supposed to sample the signal at the optimum sampling point. The sampler samples the filtered signal at the symbol rate, i.e., 1 sample/symbol. In order for the sampler to sample at the optimum point, the receiver includes a symbol-time synchronizer. A symbol-time synchronizer tries to synchronize its timing with the received signal symbol time, and thus helps the sampler to adjust its sampling time to the optimum sampling point. Without such a synchronizer, the sampler samples the signal at a random point within a symbol period.
The filtered pulse shape at the output of the matched filter is assumed to be a partial response pulse which is spread over the adjacent symbols. Since the received pulse at the output of matched filter is not Nyquist, the sampled signal will have ISI. If the matched filter output is Nyquist but is not sampled at the zero ISI point by the sampler, then the sampled signal may also have ISI. In order to combat ISI in the sampled signal, the receiver additionally includes an equalizer following the sampler. The synchronized and equalized signal samples are passed to an orthogonal-code decoder (Hadamard decoder).
The orthogonal-code decoder can be a minimum-distance decoder that selects the codeword that has minimum Euclidean distance from the received sample set. The output of the orthogonal-code decoder can be either hard bits or soft values based on the system requirements. The outer channel decoder can be a standard decoder that detects wand/or corrects the errors caused by the channel and the receiver front-end in the received bit sequence.
Without an equalizer and a symbol-time synchronizer, the orthogonal-code decoder would have to detect and decode the codewords from an unsynchronized and unequalized input signal. The performance of the receiver may be affected because with no symbol-time synchronizer, the sampler may not sample the signal at the SNR maximized point (optimum sampling point). Furthermore, the sampled signal may have ISI due to random sampling by the sampler. Also, the received pulse is a partial response pulse that is spread over adjacent symbols, and thus causes ISI in the sampled signal. Thus, the typical receiver includes a symbol-time synchronization circuit and/or an equalizer which increases the complexity of the receiver tremendously.
Systems like ACeS can have different types of burst formats, some with equalizer training sequence and some with no training sequence. The receiver needs to have different type of equalizers to overcome ISI problem for different type bursts. Since most of the channels in ACeS use burst formats with training sequence, the receiver may have an equalizer that uses the training sequence in the burst to equalize the rest of the burst. The channels under discussion (High-power/High-margin channels) use burst format with no training sequence. This requires addition of one more equalizer in the receiver just for the bursts without training sequence, and accordingly increases the complexity of the receiver.
While it may be possible to equalize the signal without a training sequence using a blind equalizer, such an equalizer is very complex, thus causing a tremendous increase in receiver complexity. Therefore, it is preferred that the High-power and High-margin channel bursts in ACeS system are detected without an equalizer. However, the lack of equalizer results in ISI in the input signal samples to the Hadamard code detector that may degrade performance for these channels.
Also, the addition of an equalizer does not completely solve the problem. The sampler without a symbol-time synchronizer still may not sample the signal at the SNR maximized point, and thus including only an equalizer to the receiver will not gain back all the performance loss.
In light of the above discussion, a need exists for a simple receiver which provides performance improvements in the decoding of codewords at the receiver.
In view of the above discussion, it is an object of the present invention to provide improved performance in orthogonal codeword detection without the need for synchronization of the sampler to the input pulse or symbol.
A further object of the present invention is to reduce the receiver performance degradation due to ISI without the need for an equalizer.
Another object of the present invention is to improve the overall receiver performance without substantially increasing the complexity of the receiver.
These and other objects of the present invention are provided by methods and systems for decoding codewords from a signal received by a receiver without a symbol-time synchronizer and an equalizer.
Correlations between a received signal sample set and a plurality of potential codeword data set are determined and a potential codeword with the highest correlation value is selected as the decoded codeword. The correlation of a potential codeword may be determined by computing a squared magnitude of correlation values between the potential codeword and the received sample set starting at various time points and then summing the squared magnitudes of the correlation values at those points. The number of time points used for correlation computation and summing depends on the time spread of the received symbol pulse.
Thus, in a system which does not have a symbol-time synchronizer which helps the sampler to sample at the optimum point where signal-to-noise level is maximized by a matched filter, and does not have an equalizer which helps to overcome the problem of ISI caused by a partial response pulse, summing the correlations at adjacent time points may decrease the impact of imperfect sampling time and ISI. Thus, the present invention overcomes the problem of ISI and imperfect sampling in unequalized and unsynchronized systems.
In a further embodiment of the present invention, the squared magnitudes of correlation values at each time point may be weighted and the sum determined by summing the weighted squared magnitudes, and the same is repeated for each potential codeword data set. In a particular embodiment, the weights are xc2xd for the earliest in time correlation value, 1 for the next consecutive correlation value, and xc2xd for the latest in time correlation value.
In still another embodiment of the present invention, the weights of the squared magnitudes of the correlation values are determined by determining the sampling time offset (xcfx84) for each potential codeword. The sampling time offset for a potential codeword is determined by determining the centroid of the squared magnitude of correlation values at various time points. The weighting factors are then determined for each potential codeword from the determined sampling time offset X and the expected receive symbol pulse shape. Thus, correlation value of a codeword in this particular embodiment is the sum of the weighted squared magnitude of the correlation values at various time points, and the weight factors are as estimated by the determined sampling time offset and the expected receive pulse shape.
In yet another embodiment of the present invention, weights are applied to the correlation values of a codeword at various time points and the squared magnitude of the correlation is computed after summing the correlation values coherently. In this particular embodiment the weight factors are the square root of the weights determined in the previous embodiment. Thus, a correlation value of a codeword in this particular embodiment is the squared magnitude of the sum of the weighted correlation values at various time points, and the weight factors are as estimated by the determined sampling time offset and the expected receive pulse shape.
In still further embodiments of the present invention, the potential codeword with the highest summed squared magnitude of correlation values or squared magnitude of the summed correlations is selected as decoded codeword. Furthermore, the codeword may be a Hadamard codeword.
In yet another embodiment-of the present invention, the received signal is sampled at additional time points than the codeword size to compute the correlation values at different time-offset points spaced by a symbol period. Preferably, the plurality of correlation values comprises three time points.